package com.codrim.cs.data.server.dao;

import com.codrim.cs.data.server.dao.param.RealTimeDataSearchParam;
import com.codrim.cs.data.server.dao.realtime.AllRedisRealTimeData;
import com.codrim.cs.data.server.dao.realtime.RealTimeData;
import com.codrim.cs.data.server.dao.realtime.RealTimeGroupByField;

import java.time.Instant;
import java.util.List;

/**
 * @author Liang.Zhuge on 09/08/2017.
 */
public interface RealTimeDataDao {
    List<RealTimeData> advertiserRealTimeData(int advId, Instant begin, Instant end);

    List<RealTimeData> affiliateRealTimeData(int affId, Instant begin, Instant end);

    List<RealTimeData> mergeRealTimeData(AllRedisRealTimeData allRedisRealTimeData, List<RealTimeGroupByField> fields,
            RealTimeDataSearchParam param, Instant begin, Instant end);

    AllRedisRealTimeData allRedisRealTimeData();
}
